One example of a processing device comprising a first and a second processing unit includes a mobile platform, i.e. a chipset/integrated circuit for use in a plurality of different mobile communications devices. A mobile platform can be used in several different hardware configurations including e.g. a mobile phone architecture using two central processing units (CPUs). In such a two-CPU mobile phone architecture typically one of the CPUs is used as an access CPU that handles the communication/real-time constrained tasks, and the other CPU is used as an application CPU that handles the phone application tasks. It is a cost advantage to include both the application and the access CPU on the same baseband digital application specific integrated circuit (ASIC). However, in order to allow the platform to be used together with more powerful application systems, it is generally desirable to be able to use the platform together with an external CPU and application system instead of the application CPU of the platform. For example, an electronic device including the platform may be connected to another data processing system such as a computer via a suitable interface, e.g. via a universal serial bus (USB). Such a configuration in which an external CPU is used instead of the internal application CPU of the platform is also called a bridge configuration. In this case, there is no direct use of the internal application CPU.
According to a first aspect, It is thus desirable to provide an initialization or boot process for the processing device that facilitates both situations in an efficient and cost-effective way.
European patent application EP 1 486 869 discloses a boot process for initializing a co-processor of a system including a main processor and a co-processor. Even though this process avoids the need for a NOR flash memory to be associated with the coprocessor it still requires two or more flash memories connected to the respective processors.
According to another aspect, the booting of a processing device such as a mobile platform for normal operation typically requires that certain basic or platform software, e.g. an operating system and/or firmware, and possibly certain configuration parameters have been installed on the processing device, e.g. during manufacturing of the device or a subsequent configuration. This installation is typically performed by loading the software onto the processing device, e.g. into a non-volatile memory such as a flash memory of the device. To this end the processing device can typically be operated in a special mode of operation, referred to as software flashing mode or service mode, in which the processing device is adapted to load software over an external interface so that the device can be configured for normal use. The process of loading the basic software and configuration parameters will also be referred to as external load.
In some mobile platforms external load is indicated by a service pin that is connected to the access CPU. The service pin can for example be trigged when the user enters a specific keyboard combination. Once the service mode is detected, the platform loads the software to be executed from an external interface, instead from the internal non-volatile memory, e.g. flash memory. However, according to the second aspect, it remains a problem to provide a boot process that facilitates operation in a service mode irrespective of the hardware configuration.